package com.yykj.hospital.server.dto.banci;

import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.yykj.common.enums.BanCiType;
import com.yykj.common.util.serializer.LocalTime2StringSerializer;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.persistence.*;
import java.time.LocalTime;
import java.util.List;

@Data
@JsonInclude(JsonInclude.Include.NON_NULL)
public class DoctorVisitSettingDTO {

    @ApiModelProperty("ID")
    private Integer id;

    private Integer hospitalId;

    @ApiModelProperty("医生ID")
    private String doctorId;

    @ApiModelProperty("医生名称")
    private String doctorName;

    @ApiModelProperty("科室ID")
    private Integer depId;

    @ApiModelProperty("科室Ids")
    private List<Integer> depIds;

    @ApiModelProperty("科室名称")
    private String depName;

    private Integer banCiId;

    @ApiModelProperty("班次名称")
    private String banCiName;

    @ApiModelProperty("类型：appointment:预约挂号，online:在线问诊")
    private BanCiType type;

    @ApiModelProperty("预约数量")
    private Integer appointment;

    @ApiModelProperty("级别ID")
    private Integer levelId;

    @ApiModelProperty("级别名称")
    private String levelName;

    @ApiModelProperty("图文数量")
    private Integer pic;

    @ApiModelProperty("视频数量")
    private Integer video;

    @ApiModelProperty("语音数量")
    private Integer voice;

    @ApiModelProperty("开始时间")
    @JsonSerialize(using = LocalTime2StringSerializer.class)
    private LocalTime startTime;

    @ApiModelProperty("结束时间")
    @JsonSerialize(using = LocalTime2StringSerializer.class)
    private LocalTime endTime;
}
